Conventionally, a user receives query formulation assistance from a local application or a remote server that provides cached terms based on queries previously received by conventional search engines from the user or all users that submit queries to the conventional search engines.
Conventional search engines receive queries from users to locate webpages having terms that match the terms included in the received queries. Conventional search engines assist a user with query formulation by caching terms sent to the conventional search engines from all users of the conventional search engines on servers that are remote from the users and displaying one or more of the cached terms to a user that is entering a user query for the conventional search engines. The user selects any one of the cached terms to complete the query and receives a listing of webpages having terms that match the terms included in the user query.
Alternatively, a user may receive assistance with query formulation from a local application executing locally on the client device associated with the user. The application may locally cache terms—on the client device—included in the user queries that were previously submitted to the conventional search engines. The local application displays the locally cached terms to the user when the user is entering subsequent queries to the conventional search engines. In turn, the user may select one or more of the locally cached terms to include in the user query that is sent to the conventional search engines. The conventional search engines receive the user query and generate a listing of webpages having terms that match the terms included in the user query.